Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

classify arbitrum sequencer inaccessible error as retryable #14100

Conversation

huangzhen1997
Copy link
Contributor

@huangzhen1997 huangzhen1997 commented Aug 12, 2024

Ticket: https://smartcontract-it.atlassian.net/browse/BCI-3893

Description
In some cases RPCs are not able to reach Arbitrum Sequencer which causes Unknown errors. We should classify them as Retryable. example log

Acceptance Criteria
Errors are classified to be Retryable

@@ -158,7 +158,7 @@ var arbitrum = ClientErrors{
Fatal: arbitrumFatal,
L2FeeTooLow: regexp.MustCompile(`(: |^)max fee per gas less than block base fee(:|$)`),
L2Full: regexp.MustCompile(`(: |^)(queue full|sequencer pending tx pool full, please try again)(:|$)`),
ServiceUnavailable: regexp.MustCompile(`(: |^)502 Bad Gateway: [\s\S]*$`),
ServiceUnavailable: regexp.MustCompile(`(: |^)502 Bad Gateway: [\s\S]*$|network is unreachable|observed invariant violation on SendTransaction`),
Copy link
Contributor Author

@huangzhen1997 huangzhen1997 Aug 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dhaidashenko Are these two error messages enough ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have some docs we could link for these? because invariant violation on SendTransaction reads like it could be considered Fatal, so we should link any explanation that we can.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@huangzhen1997 invariant violation is logged by MultiNode when we find contradictions in RPCs responses.
Usually, when we see such log msgs, we need to adjust classification for errors that were logged as Unknown in the resultsByCode field of invariant violation on SendTransaction log.
For this particular case it's network is unreachable and i/o timeout

@prashantkumar1982 prashantkumar1982 added this pull request to the merge queue Aug 13, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 13, 2024
@prashantkumar1982 prashantkumar1982 added this pull request to the merge queue Aug 13, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 13, 2024
@prashantkumar1982 prashantkumar1982 added this pull request to the merge queue Aug 13, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 13, 2024
@cl-sonarqube-production
Copy link

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 13, 2024
@prashantkumar1982 prashantkumar1982 added this pull request to the merge queue Aug 13, 2024
Merged via the queue into develop with commit 6a9528d Aug 13, 2024
114 checks passed
@prashantkumar1982 prashantkumar1982 deleted the BCI-3893/classify-arbitrum-sequencer-error-as-retryable branch August 13, 2024 20:01
simsonraj added a commit to smartcontractkit/ccip that referenced this pull request Aug 20, 2024
Cherry-Pick: classify arbitrum sequencer inaccessible error as retryable
(smartcontractkit/chainlink#14100)
Cherry-Pick: fix unhandled already seen tx error for gnosis chiado
(smartcontractkit/chainlink#14099)

Requires:
“alreadyknown” is properly classified
Errors are classified to be Retryable
asoliman92 pushed a commit that referenced this pull request Aug 28, 2024
* add error handling for service unavailable for arbitrum

* add changeset

* update error message

---------

Co-authored-by: Prashant Yadav <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants